IF exists(SELECT * FROM dbo.sysobjects WHERE name='vk_subTotaal' AND xtype='P') 
BEGIN
	DROP PROCEDURE vk_subTotaal
END
GO

CREATE      PROCEDURE vk_subTotaal(
  @klas varchar(5),
  @periode char(2) )
as
set nocount on
declare @hulptabel TABLE (vak char(2),inschrijvingsNr char(7),code varchar(20),maximum float,cijfer float)

insert into @hulptabel(vak,inschrijvingsNr,code,cijfer,maximum)
select vc.vak,vc.inschrijvingsNr,vc.code,vc.cijfer,vc.maximum
  from vakrapportIndividueleRekenwijze as vir
  left join vakrapportCijferresultaten as vc
	on vc.code = vir.subtotaalcode and
            vc.vak = vir.vak and  
              vc.klas = vir.klas and
		vc.periode = vir.periode
  where vir.rekenwijze = 'subtotaal' and 
	vir.klas = @klas  and
	    vir.periode = @periode and
	      vc.cijfer >= 0 and
	        vc.maximum > 0

--select * from @hulptabel

insert into vakrapportIndividueelBerekend(klas,vak,periode,inschrijvingsNr,code,cijfer)
select @klas,vir.vak,@periode
        ,vcr.inschrijvingsNr,vir.code,convert(varchar(10),round(sum(cijfer)*100/sum(maximum),0)) 
  from @hulptabel as vcr
   left join vakrapportIndividueleRekenwijze as vir
	on vir.subtotaalcode = vcr.code
		and vir.vak = vcr.vak 
		  and vir.periode = @periode
where vir.klas = @klas and
	vir.periode = @periode and
	vir.rekenwijze = 'subtotaal'
group by vir.vak,vcr.inschrijvingsNr,vir.code